/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Problema_01;

import java.io.*;
public class Deserializacion 
{
     public static void main (String[] args)
    {
        Agenda a1 = null;
        Agenda a2 = null;
        
        try
        {
            // Recuperas el asrchivo del disco
            FileInputStream fis = new FileInputStream("agenda1.ser");
            
            // Stresm para reconstruir objetos
            ObjectInputStream ois = new ObjectInputStream(fis);
            // el met ReadObject() recuperamops el objeto
            // y lo escribe en el arhivo
            a1 = (Agenda) ois.readObject();
            a2 = (Agenda) ois.readObject();
            // Hay que cerrar siempre el archivo
            ois.close();
        }
        catch(FileNotFoundException e)
        {
           e.printStackTrace(); 
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        catch (ClassNotFoundException e)
        {
            e.printStackTrace();
        }
        System.out.println(a1);
        System.out.println(a2);
    }
}

/* Los campos de marcados con transient son ignorados por JVM en el proceso
 * de serializacion.
 * Tambien los compos static no puenden ser serializados
 * Es por eso que estos campos despues de deserializar apareces con
 * valores nulos.
 */
